import Vue from 'vue'
import App from './App.vue'
import router from './router'


//1.引进全局的CSS
import '@/assets/css/global.css'

//2.引入服务器地址
import Url from '@/plugins/url'

Vue.prototype.$Url = Url;

//3.引入axios
import axios from 'axios'
//把axios对象绑定当 Vue原型对象上
Vue.prototype.$axios = axios;

//设置 axios 拦截器  拦截每一次请求 ，在请求中 设置请求头 （token）
axios.interceptors.request.use(config => {
    // console.log("=================请求拦截=======================");
    let token = sessionStorage.getItem("token");
    if (token) {
        config.headers["token"] = token;
    }
    return config;
})

//设置axios的回应拦截
axios.interceptors.response.use(config => {
    //判断 回应的是  1  那么 必须先去登录界面
    if (config.data === 1) {
        // 应该先登录
        vueApp.$message({
            type: 'error',
            message: '请先登录',
            duration: 3000
        })
        vueApp.$router.push("/");
        return;
    }
    return config;
})


//设置默认路径
axios.defaults.baseURL = Url.serverUrl;

//4.引入 qs --querystring简称
import qs from 'qs'
//绑定到vue原型对象上
Vue.prototype.$qs = qs;

//5.引入ElementUI
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
//使用ElementUI
Vue.use(ElementUI);

//6.动态更改页面title
router.beforeEach((to, from, next) => {
    /* 路由发生变化修改页面title */
    if (to.meta.title) {
        document.title = to.meta.title
    }
    next()
})

Vue.config.productionTip = false

let vueApp = new Vue({
    router,
    render: h => h(App)
}).$mount('#app')
